package listener

import "net"

var _ Listener = &Listener_TCP{}

type Listener_TCP struct {
	listener net.Listener
}

// Listener implements Listener.
func (l *Listener_TCP) Listener(prot string) {
	listener, err := net.Listen("tcp", prot)
	if err != nil {
		panic(err)
	}
	l.listener = listener
}

// Accept implements Listener.
func (l *Listener_TCP) Accept() net.Conn {
	conn, err := l.listener.Accept()
	if err != nil {
		panic(err)
	}
	return conn
}

// Close implements Listener.
func (l *Listener_TCP) Close() {
	l.listener.Close()
}
